package com.cw.jeeyt.common.dpk.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * @author Qdlakes
 * @version createTime：2018年5月12日 下午8:32:09
 * 类说明:
 */
@Retention(RUNTIME)
@Target(FIELD)
public @interface FetchParaAnnotation {
    //固定值
    String value() default "";

    //直接映射取值
    boolean rule() default true;

    //正则规则取值
    String RE() default "";

    //缓存取值
    String cacheKey() default "";

    //特殊参数自定义取值,内部类实现的时候需要static
    Class<? extends ParaDealInterface> classz() default ParaDealInterface.class;

    //目标属性,规则 field field
    String[] target();
}
